<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>QuantumLibrary: Class List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  $(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">QuantumLibrary
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('annotated.html','');});
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="headertitle">
<div class="title">Class List</div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock">Here are the classes, structs, unions and interfaces with brief descriptions:</div><div class="directory">
<div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span><span onclick="javascript:toggleLevel(3);">3</span><span onclick="javascript:toggleLevel(4);">4</span>]</div><table class="directory">
<tr id="row_0_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_0_" class="arrow" onclick="toggleFolder('0_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="d6/db9/namespaceBloomberg.html" target="_self">Bloomberg</a></td><td class="desc"></td></tr>
<tr id="row_0_0_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_0_" class="arrow" onclick="toggleFolder('0_0_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="dc/d48/namespaceBloomberg_1_1quantum.html" target="_self">quantum</a></td><td class="desc"></td></tr>
<tr id="row_0_0_0_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d7/df5/structBloomberg_1_1quantum_1_1Allocator.html" target="_self">Allocator</a></td><td class="desc"></td></tr>
<tr id="row_0_0_1_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="db/df0/structBloomberg_1_1quantum_1_1AllocatorTraits.html" target="_self">AllocatorTraits</a></td><td class="desc">Allows application-wide settings for the various allocators used by Quantum </td></tr>
<tr id="row_0_0_2_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d1/d95/structBloomberg_1_1quantum_1_1BoostAllocator.html" target="_self">BoostAllocator</a></td><td class="desc"></td></tr>
<tr id="row_0_0_3_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d1/d0d/structBloomberg_1_1quantum_1_1BrokenPromiseException.html" target="_self">BrokenPromiseException</a></td><td class="desc"></td></tr>
<tr id="row_0_0_4_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d1/d87/classBloomberg_1_1quantum_1_1Buffer.html" target="_self">Buffer</a></td><td class="desc">Container which allows buffered access to a series of values. Values are pushed-in (written) by a producer(s) and pulled-out (read) by a consumer(s) </td></tr>
<tr id="row_0_0_5_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d2/dfa/structBloomberg_1_1quantum_1_1BufferClosedException.html" target="_self">BufferClosedException</a></td><td class="desc"></td></tr>
<tr id="row_0_0_6_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d8/dde/structBloomberg_1_1quantum_1_1BufferingDataException.html" target="_self">BufferingDataException</a></td><td class="desc"></td></tr>
<tr id="row_0_0_7_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="db/dda/classBloomberg_1_1quantum_1_1Capture.html" target="_self">Capture</a></td><td class="desc">Class allowing lambda parameter captures </td></tr>
<tr id="row_0_0_8_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="da/d9d/classBloomberg_1_1quantum_1_1ConditionVariable.html" target="_self">ConditionVariable</a></td><td class="desc">This class represents a coroutine-compatible implementation of the std::condition_variable. Most methods of the latter have been recreated with the same behavior. This object will yield instead of blocking if called from a coroutine </td></tr>
<tr id="row_0_0_9_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="db/dda/classBloomberg_1_1quantum_1_1Configuration.html" target="_self">Configuration</a></td><td class="desc"></td></tr>
<tr id="row_0_0_10_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d8/df7/classBloomberg_1_1quantum_1_1Context.html" target="_self">Context</a></td><td class="desc">Concrete class representing a coroutine or a thread context </td></tr>
<tr id="row_0_0_11_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d7/dd7/structBloomberg_1_1quantum_1_1ContiguousPoolManager.html" target="_self">ContiguousPoolManager</a></td><td class="desc">Provides fast (quasi zero-time) in-place allocation for STL containers. Objects are allocated from a contiguous buffer (aka object pool). When the buffer is exhausted, allocation is delegated to the heap. The default buffer size is 1000 </td></tr>
<tr id="row_0_0_12_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="dd/d45/structBloomberg_1_1quantum_1_1CoroContextTag.html" target="_self">CoroContextTag</a></td><td class="desc"></td></tr>
<tr id="row_0_0_13_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="db/d67/structBloomberg_1_1quantum_1_1CoroutinePoolAllocator.html" target="_self">CoroutinePoolAllocator</a></td><td class="desc">Provides fast (quasi zero-time) in-place allocation for coroutines. Coroutine stacks are pre-allocated from separate (i.e. non-contiguous) heap blocks and maintained in a reusable list </td></tr>
<tr id="row_0_0_14_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="de/d0e/structBloomberg_1_1quantum_1_1CoroutinePoolAllocatorProxy.html" target="_self">CoroutinePoolAllocatorProxy</a></td><td class="desc"></td></tr>
<tr id="row_0_0_15_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d0/da5/classBloomberg_1_1quantum_1_1Dispatcher.html" target="_self">Dispatcher</a></td><td class="desc">Parallel execution engine used to run coroutines or IO tasks asynchronously. This class is the main entry point into the library </td></tr>
<tr id="row_0_0_16_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="da/daa/classBloomberg_1_1quantum_1_1DispatcherCore.html" target="_self">DispatcherCore</a></td><td class="desc">Class implementing the dispatching logic unto worker threads. Used for both coroutines and IO tasks </td></tr>
<tr id="row_0_0_17_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d7/d56/classBloomberg_1_1quantum_1_1Function.html" target="_self">Function</a></td><td class="desc">Similar implementation to std::function except that it allows capture of non-copyable types </td></tr>
<tr id="row_0_0_18_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d6/dea/classBloomberg_1_1quantum_1_1Function_3_01RET_07ARGS_8_8_8_08_4.html" target="_self">Function&lt; RET(ARGS...)&gt;</a></td><td class="desc"></td></tr>
<tr id="row_0_0_19_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d0/d25/structBloomberg_1_1quantum_1_1Functions.html" target="_self">Functions</a></td><td class="desc">Contains typedefs for various functions </td></tr>
<tr id="row_0_0_20_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="dc/d14/classBloomberg_1_1quantum_1_1Future.html" target="_self">Future</a></td><td class="desc">Class representing a promised future. Can only be instantiated via a <a class="el" href="d1/d15/classBloomberg_1_1quantum_1_1Promise.html" title="Class representing a promised value.">Promise</a> object </td></tr>
<tr id="row_0_0_21_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="df/de1/structBloomberg_1_1quantum_1_1FutureAlreadyRetrievedException.html" target="_self">FutureAlreadyRetrievedException</a></td><td class="desc"></td></tr>
<tr id="row_0_0_22_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d2/d14/structBloomberg_1_1quantum_1_1FutureException.html" target="_self">FutureException</a></td><td class="desc">Exception thrown by a <a class="el" href="dc/d14/classBloomberg_1_1quantum_1_1Future.html" title="Class representing a promised future. Can only be instantiated via a Promise object.">Future</a> or <a class="el" href="d1/d15/classBloomberg_1_1quantum_1_1Promise.html" title="Class representing a promised value.">Promise</a> object during various errors </td></tr>
<tr id="row_0_0_23_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="dc/d63/classBloomberg_1_1quantum_1_1FutureJoiner.html" target="_self">FutureJoiner</a></td><td class="desc">Utility class that joins N futures into a single one </td></tr>
<tr id="row_0_0_24_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_0_0_24_" class="arrow" onclick="toggleFolder('0_0_24_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d2/da6/structBloomberg_1_1quantum_1_1HeapAllocator.html" target="_self">HeapAllocator</a></td><td class="desc">Provides a heap-based object pool to the underlying <a class="el" href="d7/dd7/structBloomberg_1_1quantum_1_1ContiguousPoolManager.html" title="Provides fast (quasi zero-time) in-place allocation for STL containers. Objects are allocated from a ...">ContiguousPoolManager</a>. The default buffer size is 1000 </td></tr>
<tr id="row_0_0_24_0_"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d1/d00/structBloomberg_1_1quantum_1_1HeapAllocator_1_1rebind.html" target="_self">rebind</a></td><td class="desc"></td></tr>
<tr id="row_0_0_25_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d8/db0/structBloomberg_1_1quantum_1_1IContextBase.html" target="_self">IContextBase</a></td><td class="desc">This interface exposes shared functionality between <a class="el" href="da/de3/structBloomberg_1_1quantum_1_1IThreadContext.html" title="Exposes methods to manipulate the thread context.">IThreadContext</a> and <a class="el" href="d5/dd1/structBloomberg_1_1quantum_1_1ICoroContext.html" title="Exposes methods to manipulate the coroutine context.">ICoroContext</a> </td></tr>
<tr id="row_0_0_26_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d5/dd1/structBloomberg_1_1quantum_1_1ICoroContext.html" target="_self">ICoroContext</a></td><td class="desc">Exposes methods to manipulate the coroutine context </td></tr>
<tr id="row_0_0_27_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="de/d67/structBloomberg_1_1quantum_1_1ICoroContextBase.html" target="_self">ICoroContextBase</a></td><td class="desc">Exposes methods to manipulate the coroutine context, especially future wait methods </td></tr>
<tr id="row_0_0_28_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d6/daf/structBloomberg_1_1quantum_1_1ICoroFuture.html" target="_self">ICoroFuture</a></td><td class="desc">Exposes methods to access a coroutine-compatible future </td></tr>
<tr id="row_0_0_29_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="dc/d82/structBloomberg_1_1quantum_1_1ICoroFutureBase.html" target="_self">ICoroFutureBase</a></td><td class="desc">Exposes methods to access a coroutine-compatible future </td></tr>
<tr id="row_0_0_30_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d7/dc1/structBloomberg_1_1quantum_1_1ICoroPromise.html" target="_self">ICoroPromise</a></td><td class="desc">Exposes methods to access and manipulate a coroutine-compatible promise </td></tr>
<tr id="row_0_0_31_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d3/d63/structBloomberg_1_1quantum_1_1ICoroSync.html" target="_self">ICoroSync</a></td><td class="desc">Provides an interface to facilitate 'implicit' coroutine yielding within other primitives such as mutexes and condition variables or to allow 'explicit' cooperative yielding by the user </td></tr>
<tr id="row_0_0_32_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d4/dd1/classBloomberg_1_1quantum_1_1IoQueue.html" target="_self">IoQueue</a></td><td class="desc">Thread queue for executing IO tasks </td></tr>
<tr id="row_0_0_33_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d4/d8b/classBloomberg_1_1quantum_1_1IoTask.html" target="_self">IoTask</a></td><td class="desc">Long running or blocking task running in the IO thread pool </td></tr>
<tr id="row_0_0_34_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="df/de4/structBloomberg_1_1quantum_1_1IPromiseBase.html" target="_self">IPromiseBase</a></td><td class="desc">Exposes methods to manipulate and access a promise </td></tr>
<tr id="row_0_0_35_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d2/db0/structBloomberg_1_1quantum_1_1IQueue.html" target="_self">IQueue</a></td><td class="desc">Interface to a task queue. For internal use only </td></tr>
<tr id="row_0_0_36_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d5/de7/structBloomberg_1_1quantum_1_1IQueueStatistics.html" target="_self">IQueueStatistics</a></td><td class="desc">Interface to access and manipulate a <a class="el" href="d1/d7b/classBloomberg_1_1quantum_1_1QueueStatistics.html" title="Provides various counters related to queues and task execution.">QueueStatistics</a> object </td></tr>
<tr id="row_0_0_37_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="df/daf/structBloomberg_1_1quantum_1_1ITask.html" target="_self">ITask</a></td><td class="desc">Interface to a task. For internal use only </td></tr>
<tr id="row_0_0_38_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d0/d96/structBloomberg_1_1quantum_1_1ITaskAccessor.html" target="_self">ITaskAccessor</a></td><td class="desc">Interface to a task accessor. For internal use only </td></tr>
<tr id="row_0_0_39_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d4/d03/structBloomberg_1_1quantum_1_1ITaskContinuation.html" target="_self">ITaskContinuation</a></td><td class="desc">Interface to a task continuation. For internal use only </td></tr>
<tr id="row_0_0_40_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_0_0_40_" class="arrow" onclick="toggleFolder('0_0_40_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d9/ddb/structBloomberg_1_1quantum_1_1ITerminate.html" target="_self">ITerminate</a></td><td class="desc">Represents an object which can be terminated. This interface allows certain objects to be explicitly disposed of before their destructors are called </td></tr>
<tr id="row_0_0_40_0_" class="even"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d5/dae/classBloomberg_1_1quantum_1_1ITerminate_1_1Guard.html" target="_self">Guard</a></td><td class="desc"></td></tr>
<tr id="row_0_0_41_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="da/de3/structBloomberg_1_1quantum_1_1IThreadContext.html" target="_self">IThreadContext</a></td><td class="desc">Exposes methods to manipulate the thread context </td></tr>
<tr id="row_0_0_42_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="da/d4d/structBloomberg_1_1quantum_1_1IThreadContextBase.html" target="_self">IThreadContextBase</a></td><td class="desc">Exposes methods to manipulate the thread context, especially future wait methods </td></tr>
<tr id="row_0_0_43_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="dc/d82/structBloomberg_1_1quantum_1_1IThreadFuture.html" target="_self">IThreadFuture</a></td><td class="desc"></td></tr>
<tr id="row_0_0_44_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d1/d2d/structBloomberg_1_1quantum_1_1IThreadFutureBase.html" target="_self">IThreadFutureBase</a></td><td class="desc"></td></tr>
<tr id="row_0_0_45_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="da/deb/structBloomberg_1_1quantum_1_1IThreadPromise.html" target="_self">IThreadPromise</a></td><td class="desc">Exposes methods to access and manipulate a non-coroutine promise (i.e. used in a thread) </td></tr>
<tr id="row_0_0_46_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_0_0_46_" class="arrow" onclick="toggleFolder('0_0_46_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d7/d71/classBloomberg_1_1quantum_1_1Mutex.html" target="_self">Mutex</a></td><td class="desc">Coroutine-compatible implementation of a mutex </td></tr>
<tr id="row_0_0_46_0_"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d8/dbb/classBloomberg_1_1quantum_1_1Mutex_1_1Guard.html" target="_self">Guard</a></td><td class="desc"></td></tr>
<tr id="row_0_0_46_1_" class="even"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d4/d39/classBloomberg_1_1quantum_1_1Mutex_1_1ReverseGuard.html" target="_self">ReverseGuard</a></td><td class="desc"></td></tr>
<tr id="row_0_0_47_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d8/d11/structBloomberg_1_1quantum_1_1NoStateException.html" target="_self">NoStateException</a></td><td class="desc"></td></tr>
<tr id="row_0_0_48_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d1/d15/classBloomberg_1_1quantum_1_1Promise.html" target="_self">Promise</a></td><td class="desc">Class representing a promised value </td></tr>
<tr id="row_0_0_49_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d4/df4/structBloomberg_1_1quantum_1_1PromiseAlreadySatisfiedException.html" target="_self">PromiseAlreadySatisfiedException</a></td><td class="desc"></td></tr>
<tr id="row_0_0_50_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d1/dc1/structBloomberg_1_1quantum_1_1PromiseNotSatisfiedException.html" target="_self">PromiseNotSatisfiedException</a></td><td class="desc"></td></tr>
<tr id="row_0_0_51_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d1/d7b/classBloomberg_1_1quantum_1_1QueueStatistics.html" target="_self">QueueStatistics</a></td><td class="desc">Provides various counters related to queues and task execution </td></tr>
<tr id="row_0_0_52_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d4/d25/structBloomberg_1_1quantum_1_1ReturnOf.html" target="_self">ReturnOf</a></td><td class="desc"></td></tr>
<tr id="row_0_0_53_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d6/de7/structBloomberg_1_1quantum_1_1SequenceKeyData.html" target="_self">SequenceKeyData</a></td><td class="desc"></td></tr>
<tr id="row_0_0_54_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="df/df6/classBloomberg_1_1quantum_1_1SequenceKeyStatistics.html" target="_self">SequenceKeyStatistics</a></td><td class="desc">Implementation of a statistics collection for a SequenceKey in <a class="el" href="d7/d45/classBloomberg_1_1quantum_1_1Sequencer.html" title="Implementation of a key-based task sequencing with quantum.">Sequencer</a> </td></tr>
<tr id="row_0_0_55_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d3/dc5/classBloomberg_1_1quantum_1_1SequenceKeyStatisticsWriter.html" target="_self">SequenceKeyStatisticsWriter</a></td><td class="desc"></td></tr>
<tr id="row_0_0_56_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d7/d45/classBloomberg_1_1quantum_1_1Sequencer.html" target="_self">Sequencer</a></td><td class="desc">Implementation of a key-based task sequencing with quantum </td></tr>
<tr id="row_0_0_57_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="dd/df2/classBloomberg_1_1quantum_1_1SequencerConfiguration.html" target="_self">SequencerConfiguration</a></td><td class="desc">Implementation of a configuration class for <a class="el" href="d7/d45/classBloomberg_1_1quantum_1_1Sequencer.html" title="Implementation of a key-based task sequencing with quantum.">Sequencer</a> </td></tr>
<tr id="row_0_0_58_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d2/df0/classBloomberg_1_1quantum_1_1SharedState.html" target="_self">SharedState</a></td><td class="desc">Shared state used between a <a class="el" href="d1/d15/classBloomberg_1_1quantum_1_1Promise.html" title="Class representing a promised value.">Promise</a> and a <a class="el" href="dc/d14/classBloomberg_1_1quantum_1_1Future.html" title="Class representing a promised future. Can only be instantiated via a Promise object.">Future</a> to exchange values </td></tr>
<tr id="row_0_0_59_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="de/df2/classBloomberg_1_1quantum_1_1SharedState_3_01Buffer_3_01T_01_4_01_4.html" target="_self">SharedState&lt; Buffer&lt; T &gt; &gt;</a></td><td class="desc"></td></tr>
<tr id="row_0_0_60_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_0_0_60_" class="arrow" onclick="toggleFolder('0_0_60_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d1/d05/classBloomberg_1_1quantum_1_1SpinLock.html" target="_self">SpinLock</a></td><td class="desc">Coroutine-compatible spinlock. Used internally for mutexes since threads running coroutines cannot block </td></tr>
<tr id="row_0_0_60_0_"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="db/de4/classBloomberg_1_1quantum_1_1SpinLock_1_1Guard.html" target="_self">Guard</a></td><td class="desc"></td></tr>
<tr id="row_0_0_60_1_" class="even"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="dd/d36/classBloomberg_1_1quantum_1_1SpinLock_1_1ReverseGuard.html" target="_self">ReverseGuard</a></td><td class="desc"></td></tr>
<tr id="row_0_0_61_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_0_0_61_" class="arrow" onclick="toggleFolder('0_0_61_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d0/d75/structBloomberg_1_1quantum_1_1StackAllocator.html" target="_self">StackAllocator</a></td><td class="desc">Provides a stack-based object pool to the underlying <a class="el" href="d7/dd7/structBloomberg_1_1quantum_1_1ContiguousPoolManager.html" title="Provides fast (quasi zero-time) in-place allocation for STL containers. Objects are allocated from a ...">ContiguousPoolManager</a>. The default buffer size is 1000 </td></tr>
<tr id="row_0_0_61_0_" class="even"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="de/db5/structBloomberg_1_1quantum_1_1StackAllocator_1_1rebind.html" target="_self">rebind</a></td><td class="desc"></td></tr>
<tr id="row_0_0_62_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d7/d9d/structBloomberg_1_1quantum_1_1StackTraits.html" target="_self">StackTraits</a></td><td class="desc">Allows application-wide overrides for the coroutine stack traits which are used internally by boost::coroutines2 </td></tr>
<tr id="row_0_0_63_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d4/df4/structBloomberg_1_1quantum_1_1StackTraitsProxy.html" target="_self">StackTraitsProxy</a></td><td class="desc"></td></tr>
<tr id="row_0_0_64_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d7/dd7/structBloomberg_1_1quantum_1_1StlAllocator.html" target="_self">StlAllocator</a></td><td class="desc"></td></tr>
<tr id="row_0_0_65_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d0/d90/classBloomberg_1_1quantum_1_1Task.html" target="_self">Task</a></td><td class="desc">Runnable object representing a coroutine </td></tr>
<tr id="row_0_0_66_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d8/d06/classBloomberg_1_1quantum_1_1TaskQueue.html" target="_self">TaskQueue</a></td><td class="desc">Thread queue for running coroutines </td></tr>
<tr id="row_0_0_67_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="de/de9/structBloomberg_1_1quantum_1_1ThreadContextTag.html" target="_self">ThreadContextTag</a></td><td class="desc"></td></tr>
<tr id="row_0_0_68_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d8/daf/structBloomberg_1_1quantum_1_1ThreadTraits.html" target="_self">ThreadTraits</a></td><td class="desc">Allows application-wide settings for the various thread settings used by Quantum </td></tr>
<tr id="row_0_0_69_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_0_0_69_" class="arrow" onclick="toggleFolder('0_0_69_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d6/d86/structBloomberg_1_1quantum_1_1Traits.html" target="_self">Traits</a></td><td class="desc">Contains definitions for various traits used by this library. For internal use only </td></tr>
<tr id="row_0_0_69_0_"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="db/db8/structBloomberg_1_1quantum_1_1Traits_1_1DerivedFrom.html" target="_self">DerivedFrom</a></td><td class="desc"></td></tr>
<tr id="row_0_0_69_1_" class="even"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="da/d88/structBloomberg_1_1quantum_1_1Traits_1_1IsBuffer.html" target="_self">IsBuffer</a></td><td class="desc"></td></tr>
<tr id="row_0_0_69_2_"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d0/dc6/structBloomberg_1_1quantum_1_1Traits_1_1IsBuffer_3_01Buffer_3_01T_01_4_01_4.html" target="_self">IsBuffer&lt; Buffer&lt; T &gt; &gt;</a></td><td class="desc"></td></tr>
<tr id="row_0_0_70_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d1/db1/structBloomberg_1_1quantum_1_1Util.html" target="_self">Util</a></td><td class="desc">Utility to bind a user callable function unto a coroutine or an IO task </td></tr>
<tr id="row_0_0_71_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="dd/d4a/structBloomberg_1_1quantum_1_1YieldingThreadDuration.html" target="_self">YieldingThreadDuration</a></td><td class="desc">This class provides the same functionality as a coroutine yield when called from a thread context </td></tr>
<tr id="row_1_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_1_" class="arrow" onclick="toggleFolder('1_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="d2/d41/namespaceITerminate.html" target="_self">ITerminate</a></td><td class="desc"></td></tr>
<tr id="row_1_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d2/dad/classITerminate_1_1Guard.html" target="_self">Guard</a></td><td class="desc">RAII-style mechanism for ensuring an object is terminated at the end of a scope. Acquires an <a class="el" href="d2/d41/namespaceITerminate.html">ITerminate</a> interface on construction and terminates the object in the destructor </td></tr>
<tr id="row_2_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_2_" class="arrow" onclick="toggleFolder('2_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="d8/da3/namespaceMutex.html" target="_self">Mutex</a></td><td class="desc"></td></tr>
<tr id="row_2_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="df/df3/classMutex_1_1Guard.html" target="_self">Guard</a></td><td class="desc">RAII-style mechanism for mutex ownership. Acquires a mutex on construction and releases it inside the destructor </td></tr>
<tr id="row_2_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="de/d64/classMutex_1_1ReverseGuard.html" target="_self">ReverseGuard</a></td><td class="desc">Opposite form of RAII-style mechanism for mutex ownership. Releases a mutex on construction and acquires it inside the destructor </td></tr>
<tr id="row_3_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_3_" class="arrow" onclick="toggleFolder('3_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="de/df4/namespaceSpinLock.html" target="_self">SpinLock</a></td><td class="desc"></td></tr>
<tr id="row_3_0_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="de/d78/classSpinLock_1_1Guard.html" target="_self">Guard</a></td><td class="desc">RAII-style mechanism for <a class="el" href="de/df4/namespaceSpinLock.html">SpinLock</a> ownership. Acquires a <a class="el" href="de/df4/namespaceSpinLock.html">SpinLock</a> on construction and releases it inside the destructor </td></tr>
<tr id="row_3_1_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="dd/db5/classSpinLock_1_1ReverseGuard.html" target="_self">ReverseGuard</a></td><td class="desc">Opposite form of RAII-style mechanism for <a class="el" href="de/df4/namespaceSpinLock.html">SpinLock</a> ownership. Releases a <a class="el" href="de/df4/namespaceSpinLock.html">SpinLock</a> on construction and acquires it inside the destructor </td></tr>
<tr id="row_4_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d9/d6d/classclass.html" target="_self">class</a></td><td class="desc">Configuration parameters for the Quantum library </td></tr>
</table>
</div><!-- directory -->
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="footer">Generated by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.15 </li>
  </ul>
</div>
</body>
</html>
